package com.zg.shop.cart;

import java.util.Collection;
import java.util.HashMap;
import java.util.Map;

public class Cart {
	//购物项
	private Map<Integer, CartItem> map = new HashMap<Integer, CartItem>();
	//总计
	private Double total = 0d;
	
	public Collection<CartItem> getCartItems(){
		return map.values();
	}
	
	public Double getTotal() {
		return total;
	}

	//将购物项添加到购物车
	public void addCart(CartItem cartItem){
		Integer pid = cartItem.getProduct().getPid();
		if(map.containsKey(pid)){
			//有购物项
			CartItem _cartItem = map.get(pid); 
			_cartItem.setCount(_cartItem.getCount()+cartItem.getCount()); 
		}else{
			//不存在该购物项
			map.put(pid, cartItem);
		}
		total += cartItem.getSubtotal();
	}
	//将购物项从购物车中移除
	public void removeCart(Integer pid){
		CartItem cartItem = map.remove(pid);
		total -= cartItem.getSubtotal();
	}
	//清空购物车
	public void clearCart(){
		map.clear();
		total = 0d;
	}
}
